1. Field of the Invention
The present invention generally relates to systems and methods for reducing connection establishment delays in ad-hoc frequency hopping spread spectrum networks. In particular, adaptive and predictive synchronization techniques are employed to reduce delay times and minimize potential interference.
2. Description of the Related Art
An ad-hoc wireless multi-hop communications network, such as a mesh network, allow sets of nodes to exchange communications with one another over a wireless medium using, for example, radio frequency (RF) communication. Such nodes often are minimal in design, and direct connection to a server via a gateway (e.g., a network), can be difficult. For example, each node may be a communications device, or the communications function of the node may be a secondary or ancillary function. By connecting with neighboring nodes instead of forming direct links to the gateway or server, individual nodes, such as sensors or computer systems, are capable of routing communications to an intended destination (e.g., a gateway) more effectively. This technique can be especially useful for nodes deployed in remote geographic areas or regions where high data traffic across certain frequency regimes is possible.
While the number of nodes in an ad-hoc multi-hop network is not limited, often the particular path from an originating node to its destination is defined by certain criteria such as link quality and bandwidth. Each node in the ad-hoc multi-hop network is capable of transmitting communications, receiving communications, and/or relaying communications between other nodes in the network and/or the gateway. Furthermore, each node is capable of broadcasting information to neighboring nodes regarding its distance and radio signal strength to the gateway. A node attempting to connect to the gateway using one or more neighboring nodes may assess the “cost” associated with each neighboring node, and thus determine which path is least expensive. For example, the quality of the link between a node and a neighboring node, as well as the bandwidth of the link, may be determined to see how quickly the data will be sent. The higher the quality of the link and bandwidth, the lower the cost associated with sending data through that node may be. In some embodiments, each node in the network connected with the gateway and/or the gateway itself may maintain a map of the best path or paths for sending and/or receiving data to the gateway as well as to other nodes in the network.
Nodes can establish connections and transmit data with neighboring nodes on one or more frequency channels. It is impractical for a receiving node to be idle on one frequency channel, or for a transmitting node to transmit on a single frequency channel for a long period of time as this would create a noisy frequency channel. Furthermore, if a receiving node and/or transmitting node only receives/transmits communications on one particular frequency channel, that channel would be unavailable to other nodes attempting to also communicate with either the receiving or transmitting nodes, or another node in the network, or another node in a different, neighboring network, using the same frequency regime. Additionally, in some environments, one or more frequencies may be temporarily or permanently interfered with due to radio frequency activity external to the system of communicating nodes. Regulatory operating requirements may also dictate the maximum duration that a given communications device is permitted to transmit on a single frequency within a defined time period. As a result of interference concerns or regulation requirements, it is beneficial for communications to be performed by dynamically changing the frequency channels used to transmit and receive data.
One way to apply dynamic frequency changes is to not have large continuous data communications transferred on a single frequency channel, and instead breaking up the large communications or data into multiple small communications or small data packets or frames, and transmit those smaller packets or frame across multiple frequencies. This process is typically referred to as a frequency hopping spread spectrum (“FHSS”) system, and is extremely useful for reducing noise or interface on a particular frequency channel. Nodes, once connected with one another, can “hop” across the various frequency channels in the frequency spectrum together using FHSS principles, thereby reducing the amount of time spent on any particular frequency channel and minimizing the amount of noise or bandwidth used on that particular frequency channel.
However, using FHSS systems is difficult if a transmitting node does not know beforehand what frequency channel a receiving node is currently on. If this information is known, the two nodes can “hop” across various frequency channels together. If this information is not known, the transmitting node has to determine what frequency channel the receiving node is on, as well as the amount of time the receiving node spends on each frequency channel. The frequency channel that the receiving node is on at time t1, for example, may not be the same frequency channel that the receiving node is on at time t2.
One way that the transmitting node can determine the receiving node's current frequency channel is by sending a synchronization request to the receiving node on every frequency channel. The synchronization request is typically a small data packet, which, if the receiving node is on a particular frequency channel that the synchronization request has been sent on, the transmitting node will receive a synchronization response message back from the receiving node. However, sending synchronization requests on every frequency channel is inefficient for finding the particular frequency channel the receiving node is currently located on, and also introduces unnecessary, and unwanted, noise into the frequency spectrum.
Another way that the transmitting mode can determine the receiving mode's current frequency channel is by sending a synchronization request to the receiving node on one frequency channel, and then waiting for the receiving node to send a synchronization response message back when the receiving node is on that particular frequency channel that the synchronization request was sent on. While this approach minimizes the amount of extraneous noise introduced into the frequency spectrum, it is a slow and cumbersome process. There may be many frequency channels and it may take a long, and impractical, amount of time to wait for the receiving node to eventually hop to the frequency channel that the synchronization request has been sent on. Furthermore, the transmitting node will also be required to remain on the specific frequency channel that the synchronization request was sent on while waiting for the receiving node to send a synchronization response message back. Even if the synchronization request is of short duration, the selected frequency may be temporarily or permanently interfered with by external system activity that may preclude the successful transmission and/or reception on that particular frequency channel.
Thus, it would be beneficial for there to be systems and methods that allow for a transmitting node to intelligently predict what frequency channel a corresponding receiving node will be on within a frequency spectrum so that the two nodes can more quickly and efficiently synchronize with one another for frequency hopping together within an ad-hoc multi-hop wireless communications network.